Method and server for pushing information proactively

ABSTRACT

A method for pushing information proactively includes: receiving updated data; querying search records that match the updated data; determining search records that meet a push condition, and obtaining user information corresponding to the search records that meet the push condition; pushing, according to the user information, the updated data to all or part of users corresponding to the user information. In the embodiments of the present invention, after receiving updated data, the server proactively obtains the search records of users, screens the users according to the push condition, and pushes the updated data to the screened users. In this way, the information is proactively pushed, which shortens the time interval of providing information for the users, and improves the efficiency of obtaining needed information by the users.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/728,141, filed on Dec. 27, 2012, which is a continuation ofInternational Patent Application No. PCT/CN2011/080206, filed on Sep.27, 2011. The International Application claims priority to ChinesePatent Application No. 201010505939.5, filed on Sep. 30, 2010. All ofthe afore-mentioned patent applications are hereby incorporated byreference in their entireties.

FIELD OF THE INVENTION

The present invention relates to the field of network technologies, andin particular, to a method and a server for pushing informationproactively.

BACKGROUND OF THE INVENTION

With the development and popularity of the Internet and relatedtechnologies, some service systems provide people with a huge amount ofinformation through the Internet. More and more marketing activities areconducted online, and searching for information by using the Internetand shopping online gradually become part of people's daily life.

Currently, people search for information or do shopping online mainly bysending information requests, and related service systems that provideinformation mainly provide information passively. For example, a userenters a key word in the search box on a service provider website tosearch for information related to the key word, and the search engine ofthe service provider captures related information in the databaseaccording to the key word and provides the related information as asearch result for the user, so that the user performs subsequentoperations.

However, when the search engine fails to find information that matchesthe key word in the database, it displays information indicating nosearch result is found to the user and then ends the informationprovision process; if data is updated in the database subsequently andinformation that matches the key word is added, the service system canprovide the user with the matched information only when the userinitiates access next time and enters the key word to search forinformation again. The prior art has the following disadvantages: Forthe service system, providing information passively prolongs the timeinterval of providing information and reduces the efficiency ofobtaining information by users.

SUMMARY OF THE INVENTION

Embodiments of the present invention provide a method and a server forpushing information proactively, so that after updated data is received,information can be proactively pushed to users related to theinformation, thereby shortening the time interval of providinginformation.

In order to solve the foregoing technical problems, technical solutionsof the embodiments of the present invention are as follows:

An embodiment of the present invention provides a method for pushinginformation proactively, including:

receiving updated data;

querying search records that match the updated data;

determining whether the search records that match the updated data meeta push condition, and obtaining user information corresponding to thesearch records that meet the push condition; and

pushing, according to the user information, the updated data to all orpart of users corresponding to the user information.

An embodiment of the present invention further provides a server forpushing information proactively, including:

a data receiving unit, configured to receive updated data;

a record querying unit, configured to query search records that matchthe updated data;

an information querying unit, configured to determine whether the searchrecords that match the updated data meet a push condition, and obtainuser information corresponding to the search records that meet the pushcondition; and

an information pushing unit, configured to push, according to the userinformation, the updated data to all or part of users corresponding tothe user information.

In the embodiments of the present invention, after receiving updateddata, the server proactively obtains the search records of users,screens the users according to the push condition, and pushes theupdated data to the screened users. In this way, the information isproactively pushed, thereby shortening the time interval of providinginformation for the users, and improving the efficiency of obtainingneeded information by the users. In addition, users are screened byadding a push condition, which effectively saves resources needed forpushing the information and increases the accuracy of pushinginformation to users, thereby improving the user experience.

BRIEF DESCRIPTION OF THE DRAWINGS

To illustrate the technical solutions in the embodiments of the presentinvention more clearly, the accompanying drawings required fordescribing the embodiments or the prior art are introduced briefly inthe following. Apparently, the accompanying drawings in the followingdescription merely show some embodiments of the present invention, andpersons of ordinary skill in the art can derive other drawings from theaccompanying drawings without creative efforts.

FIG. 1 is a flowchart of a method for pushing information proactivelyaccording to an embodiment of the present invention;

FIG. 2 is a flowchart of another method for pushing informationproactively according to an embodiment of the present invention;

FIG. 3 is a flowchart of another method for pushing informationproactively according to an embodiment of the present invention;

FIG. 4 is a schematic structural diagram of a server for pushinginformation proactively according to an embodiment of the presentinvention; and

FIG. 5 is a schematic structural diagram of another server for pushinginformation proactively according to an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

To enable persons skilled in the art to further understand the featuresand technical contents of the present invention, the present inventionis hereinafter described in detail with reference to the accompanyingdrawings. The accompanying drawings are provided for reference only, andare not intended to limit the present invention.

In the prior art, the service system provides information passively.When data information is updated in the database, the service system canprovide information for a user only when the user initiates a request toaccess the data information. This prolongs the time interval ofproviding information by the service system and reduces the efficiencyof obtaining information by the user, and therefore cannot meet people'srequirements and is disadvantageous for the user to obtain information.Based on this, embodiments of the present invention provide a method anda server for pushing information proactively, so that information can bepushed to users related to the information proactively after updateddata is received.

The following describes the technical solutions of the present inventionwith the help of drawings and embodiments.

FIG. 1 is a flowchart of a method for pushing information proactivelyaccording to an embodiment of the present invention.

The method may include:

Step 101: Receive updated data.

When data in a database is updated, the updated data may be sent to aserver and received by the server. The server may specifically be arecommendation engine server. The receiving action of the server may betriggered immediately when data is updated, or a time interval ispreset, and the server is triggered to receive updated data once at thetime interval, or a times threshold may be set, for example, when dataupdate occurs three times in the database, the server is triggered toreceive the updated data of the three times. The updated data mayspecifically include a newly added field in the database or an updatedfield value of an old field in the database, which is not limitedherein.

Step 102: Query search records that match the updated data.

After receiving the updated data, the server queries search records thatmatch the data, where the search records are records about a user'ssearch actions made by the server each time when the server receives asearch request from the user. The content of the search records mayinclude key words, database data that matches the key words, searchresults, browsing times, whether to collect, whether to download, userinformation, and so on, or a part thereof, which is not limited herein.When querying search records, the server may query the search recordsaccording to a matching relationship between the updated data and keywords in the search records. Details are provided in the subsequentembodiments.

Step 103: Determine search records that meet a push condition, andobtain user information corresponding to the search records that meetthe push condition.

After finding the search records that match the updated data, the serverchecks whether the search records meet the push condition; if yes, theserver further retrieves user information corresponding to the searchrecords. The push condition may be set according to an actual need. Thesearch records that meet the push condition may include one or more ofthe following: a search record with a search result indicating that nomatching item is found, a search record where after a search result isoutput, the user does not download the found information, a searchrecord where after a search result is output, the user collects one ormore pieces of found information, or a search record where after asearch result is output, the number of times/pieces of found informationbrowsed by the user exceeds a threshold, where the threshold may be setaccording to the actual need, for example, three times. The searchrecord with a search result indicating that no matching item is foundmay be a record where according to the search request of a user, theserver fails to find items that match the key word entered by the user.The search record with no downloading may be a record where after thesearch is completed, the user's final action is no downloading the foundinformation; the search record with collection may be a record that theuser may collect information found by the user; the search record withbrowsing may be a record that the user browses the found information.

After obtaining the search records that meet the push condition, theserver further obtains user information corresponding to the searchrecords, where the user information may be login information of the useror identifier information of a terminal used by the user, for example,the login information of the user may be one or more of the following:user name, nickname, and Email; the identifier information of theterminal used by the user may be one or more of the user's mobile phonenumber or telephone number. A user information database may be set up inadvance.

Step 104: Push, according to the user information, the updated data toall or part of users corresponding to the user information.

After obtaining the user information, the server may choose to push theupdated data to all or part of users. For example, if the server obtainsthe Email box of a user, the server may push the updated data by sendingan Email to the Email box of the user; or if the server obtains theidentifier of a terminal used by the user, for example, a mobile phonenumber, the server may push the updated data to the terminal of the userby using a PUSH technology. Certainly, other modes may also be used topush the updated data, which are not limited herein.

In this embodiment of the present invention, after receiving updateddata, the server proactively obtains the search records of users,screens the users according to the push condition, and pushes theupdated data to the screened users. In this way, the information isproactively pushed, thereby shortening the time interval of providinginformation for the users, and improving the efficiency of obtainingneeded information by the users. In addition, users are screened byadding a push condition, which effectively saves resources needed forpushing the information and increases the accuracy of pushinginformation to users, thereby improving the user experience.

FIG. 2 is a flowchart of another method for pushing informationproactively according to an embodiment of the present invention.

The method may include:

Step 201: Receive updated data, where the updated data includes a newlyadded field.

In this embodiment, if a user A enters a key word “camping tent” tosearch, when the search engine fails to find a search result thatmatches the key word “camping tent” in the database, the search enginedisplays information indicating that no matching item is found to theuser A. The server keeps the search record of the user A, where thesearch record may include user information of the user A (for example,Email of the user A), key word “camping tent”, and search resultindicating that no matching item is found.

When data is updated in the database, the server is triggered to receiveupdated data. In this embodiment, the updated data includes a newlyadded field “tent” in the database and the field value of the newlyadded field is “camping tent” and “mountaineering tent”.

Step 202: Query search records that match the newly added field.

The server may query, by using the field name of the newly added field,search records stored on the server, and when the key word or part ofthe key word of one or more search records is the field name or fieldvalue of the newly added field, use the one or more search records asthe search record(s) matching the newly added field; or the server mayalso query, by using the field name of the newly added field, searchrecords stored on the server, and when the key word or part of the keyword of one or more search records fuzzily matches the field name orfield value of the newly added field, use the one or more search recordsas the search record(s) matching the newly added field.

In this embodiment, after receiving the newly added field “tent” and thefield value thereof, the server retrieves the search records and queriesfor whether there are search records that match the field name “tent” orfield values such as “camping tent” and “mountaineering tent” of thefield “tent”. In this embodiment, because the key word “camping tent” inthe search records of the user A is the same as the field value “campingtent” of the newly added field “tent”, the search records of the user Aabout the key word “camping tent” match the newly added field “tent”.Certainly, in other embodiments, a matching rule may be set according tothe actual need, for example, the matching rule is set to be that partof the newly added field name or part of the field value correspondingto the newly added field is the same as part of the key word. In thiscase, using the above example, the search records about the key word“camping tent” may match data of the field value “camping tent”, dataincluding the field name “tent”, and data of the field value“mountaineering tent”, that is, the data of the field name “tent” andthe data of the field value “mountaineering tent” match the word “tent”in the key word “camping tent”. Then, the search records about the keyword “camping tent” are considered to match the newly added field“tent”.

Step 203: Obtain user information corresponding to the search recordwith a search result indicating that no matching item is found.

By querying the search records of the user A, the server knows that therecord where “the search result indicates that no matching item isfound” meets the push condition, and then obtains information of theuser A, which may specifically be the Email of the user A.

Step 204: Send, according to the user information of the user A, theupdated data through the Email.

In this step, the server sends the newly added field “tent” in thedatabase and its specific information, for example, the field value, tothe Email box of the user A according to the Email address obtained instep 203. Then, the data information is automatically pushed.

In this embodiment, when receiving new information of the database, theserver queries for and screens pre-stored search records, and sends thenew information to users corresponding to the screened search records.In this way, the information is pushed proactively, thereby shorteningthe time interval of providing information for users and increasing theefficiency of obtaining needed information by the users. In addition,the users are screened by adding a push condition, which effectivelysaves resources needed for pushing the information and increases theaccuracy of pushing information to the users, thereby improving the userexperience.

FIG. 3 is a flowchart of another method for pushing informationproactively according to an embodiment of the present invention.

The method may include:

Step 301: Receive updated data, where the updated data includes anupdated field value of an old field.

In this embodiment, if a user B searches by entering a key word “tent”,after the search engine finds search results that match the key word“tent” in the database, it displays the search results that match thekey word “tent” to the user B. Then, the user B collects one or morepieces of information of the search results. The server keeps the searchrecord of the user B, where the search record may include userinformation of the user B, search key word “tent”, and one or morepieces of information collected from the search results.

When data is updated in the database, the server is triggered to receiveupdated data. In this embodiment, the updated data information is theupdated field value of the old field “tent” in the database.

Step 302: Query search records that match the old field.

The server may query, by using the updated field value of the old field,search records stored on the server, and when the key word or part ofthe key word of one or more search records is the field name or updatedfield value of the old field, use the one or more search records as thesearch record(s) matching the old field; or, the server may also query,by using the updated field value of the old field, search records storedon the server, and when the key word or part of the key word of one ormore search records fuzzily matches the field name or updated fieldvalue of the old field, use the one or more search records as the searchrecord(s) matching the old field.

In this embodiment, after receiving the updated data of the old field“tent”, the server retrieves the search records and query whether thereare search records that match the field “tent”. In this embodiment, thekey word “tent” in the search records of the user B is the same as thefield name “tent” of the old field, and therefore the search records ofthe user B about the key word “tent” match the old field “tent”.

Step 303: Obtain terminal identifier information corresponding to thesearch records that meet the push condition.

By querying the search records of the user B, it can be known that theuser B collects one or more pieces of information of the search result,so that the search records meet the push condition. In this case, theserver further obtains the user information of the user B. In thisembodiment, the user information of the user B is the terminalidentifier information of the user B, for example, mobile phone number.In other embodiments, the push condition may be set to a record of “nodownloading” or a record where the number of times and/or pieces ofinformation in the “browsed” search result exceeds a preset threshold.

Step 304: Push, by using the PUSH technology, the updated data to aterminal that has the identifier information.

In this step, the server pushes, by using the PUSH technology, theupdated field value of the old field “tent” in the database to theterminal that has the above identifier information, so that the datainformation is automatically pushed. The PUSH technology is the priorart, and is not further described herein.

In this embodiment, when receiving updated field value information ofthe database, the server queries for and screens pre-stored searchrecords, and sends the updated data to users corresponding to thescreened search records. In this way, the information is pushedproactively, thereby shortening the time interval of providinginformation for users and increasing the efficiency of obtaining neededinformation by the users. In addition, the users are screened by addinga push condition, which effectively saves resources needed for pushingthe information and increases the accuracy of pushing information to theusers, thereby improving the user experience.

Persons of ordinary skill in the art may understand that all or part ofthe steps in the preceding embodiments may be completed by hardwarefollowing instructions of a program. The program may be stored in acomputer readable storage medium such as a read-only memory (ROM), arandom access memory (RAM), a magnetic disk or a compact disk.

Detailed above is a method provided in embodiments of the presentinvention. The following briefly describes the structure of a serverthat implements the above method.

FIG. 4 is a schematic structural diagram of a server for pushinginformation proactively according to an embodiment of the presentinvention.

The server may include the following units:

a data receiving unit 401, configured to receive updated data;

a record querying unit 402, configured to query search records thatmatch the updated data;

an information querying unit 403, configured to determine search recordsthat meet a push condition, and obtain user information corresponding tothe search records that meet the push condition; and

an information pushing unit 404, configured to push, according to theuser information, the updated data to all or part of users correspondingto the user information.

In this embodiment, when data is updated in the database, the updateddata may be sent to the server, and then received by the data receivingunit 401 of the server, where the updated data may specifically includea newly added field or an updated field value of an old field in thedatabase. After the data receiving unit 401 receives the updated data,the record querying unit 402 queries search records that match theupdated data. When querying the search records, the data querying unit402 may query according to a matching relationship between the updateddata and the key word in the search records. After the record queryingunit 402 finds search records that match the updated data, theinformation querying unit 403 checks whether the search records meet apush condition; if true, the information querying unit 403 furtherretrieves the user information corresponding to the search records,where the push condition may be set according to the actual need and thesearch records that meet the push condition may include one or more ofthe following: a search record with a search result indicating that nomatching item is found, a search record where after a search result isoutput, the user does not download the found information, a searchrecord where after a search result is output, the user collects one ormore pieces of found information, or a search record where after asearch result is output, the number of times and/or pieces of foundinformation browsed by the user exceeds a threshold, where the thresholdmay be set according to the actual need, for example, three times; andthe user information may be login information of the user or identifierinformation of a terminal used by the user, for example, the logininformation of the user may be one or more of the following: user name,nickname, and Email, and the identifier information of the terminal usedby the user may be one or more of the user's mobile phone number andtelephone number, and a user information database may be set up inadvance. After the information querying unit 403 obtains userinformation, the information pushing unit 404 pushes updated dataaccording to the user information.

In this embodiment, by using the above units, the information is pushedproactively, which shortens the time interval of providing informationfor users and increases the efficiency of obtaining needed informationby users; in addition, users are screened by adding a push condition,which effectively saves resources needed for pushing the information andincreases the accuracy of pushing information to users, therebyimproving the user experience.

FIG. 5 is a schematic structural diagram of another server for pushinginformation proactively according to an embodiment of the presentinvention.

The server may include a data receiving unit 501, a record querying unit502, an information querying unit 503, and an information pushing unit504.

The record querying unit 502 may further include:

a first querying subunit 5021, configured to: when the updated dataincludes a newly added field, query search records that match the newlyadded field; and

a second querying subunit 5022, configured to: when the updated dataincludes an updated field value of an old field, query search recordsthat match the old field.

In another embodiment, the first querying subunit 5021 may specificallyquery, by using the field name of the newly added field, search recordsstored on the server, and when the key word or part of the key word ofone or more search records is the field name or field value of the newlyadded field, use the one or more search records as the search record(s)matching the newly added field; or the server may also query, by usingthe field name of the newly added field, search records stored on theserver, and when the key word or part of the key word of one or moresearch records fuzzily matches the field name or field value of thenewly added field, use the one or more search records as the searchrecord(s) matching the newly added field.

The second querying subunit 5022 may specifically query, by using theupdated field value of the old field, search records stored on theserver, and when the key word or part of the key word of one or moresearch records is the field name or updated field value of the oldfield, use the one or more search records as the search record(s)matching the old field; or, query, by using the updated field value ofthe old field, search records stored on the server, and when the keyword or part of the key word of one or more search records fuzzilymatches the field name or updated field value of the old field, use theone or more search records as the search record(s) matching the oldfield.

The information querying unit 503 may be specifically configured toobtain user information of users who initiate the search records thatmeet the push condition, where the user information is similar to thatprovided in the foregoing embodiments, and is not further describedherein. The information pushing unit 504 may be specifically configuredto obtain terminal identifier information in the user information, andpush, by using a PUSH technology, the updated data to a terminal thathas the identifier information.

In this embodiment, by using the above units, the information is pushedproactively, which shortens the time interval of providing informationfor users and increases the efficiency of obtaining needed informationby users; in addition, users are screened by adding a push condition,which effectively saves resources needed for pushing the information andincreases the accuracy of pushing information to users, therebyimproving the user experience. The specific implementation of each uniton the server refers to the method provided in the foregoingembodiments, and is not further described herein.

Embodiments of the present invention described in the foregoing are notlimitations for the protection scope of the present invention. Anymodification, equivalent replacement, and improvement made withoutdeparting from the spirit and principle of the present invention allfall in the protection scope of the embodiments of the presentinvention.

What is claimed is:
 1. A method for pushing information proactively,comprising: receiving, by a server, a key word input by a user;providing, by the server, one or more search results that matches thekey word; recording, by the server, user information according of theuser and the key word; recording, by the server, a search result onwhich the user performs an user operation, wherein the search result isone of the one or more search results; updating, by the server, thesearch result on which the user operation is performed; pushing, by theserver, according to the user information, the updated search result tothe user.
 2. The method according to claim 1, wherein the user operationperformed on the search result of the one or more search resultscomprises: collection.
 3. The method according to claim 2, wherein theuser information is login information of the user or identifierinformation of a terminal used by the user stored on the server; whereinthe login information of the user comprises one or more of thefollowing: a user name, a nickname, and an Email address associated withthe user; and wherein the identifier information of the terminal used bythe user comprises a telephone number of the user.
 4. The methodaccording to claim 2, wherein the key word is sent by the terminal usedby the user.
 5. The method according to claim 2, wherein the pushing, bythe server, according to the user information, the updated search resultto the user comprises: pushing, by the server, according to the userinformation, the updated search result to the user without the userinitiating another search using the key word.
 6. A method for pushinginformation proactively, comprising: receiving, by a server, a key wordinput by a user; providing, by the server, one or more search resultsthat matches the key word; recording, by the server, user informationaccording of the user and the key word; recording, by the server, asearch result on which the user performs an user operation, wherein thesearch result is one of the one or more search results; receiving, bythe server, updated data relates to the search result on which the useroperation is performed; pushing, by the server, according to the userinformation, the updated data to the user.
 7. The method according toclaim 6, wherein the user operation performed on the search result ofthe one or more search results comprises: collection.
 8. The methodaccording to claim 6, wherein the user information is login informationof the user or identifier information of a terminal used by the userstored on the server; wherein the login information of the usercomprises one or more of the following: a user name, a nickname, and anEmail address associated with the user; and wherein the identifierinformation of the terminal used by the user comprises a telephonenumber of the user.
 9. The method according to claim 6, wherein theupdated data matches the key word input by the user.
 10. The methodaccording to claim 6, wherein the key word is sent by the terminal usedby the user.
 11. The method according to claim 6, wherein the pushing,by the server, according to the user information, the updated data tothe user comprises: pushing, by the server, according to the userinformation, the updated data to the user without the user initiatinganother search using the key word.
 12. A server for pushing informationproactively, comprising: a memory storing a computer program comprisinginstructions; and computer hardware configured to execute theinstructions in the computer program to: receive a key word input by auser; provide one or more search results that matches the key word;record user information according of the user and the key word; record asearch result on which the user performs an user operation, wherein thesearch result is one of the one or more search results; update thesearch result on which the user operation is performed; push accordingto the user information, the updated search result to the user.
 13. Theserver according to claim 12, wherein the user operation performed onthe search result of the one or more search results comprises:collection.
 14. The server according to claim 13, wherein the userinformation is login information of the user or identifier informationof a terminal used by the user stored on the server; wherein the logininformation of the user comprises one or more of the following: a username, a nickname, and an Email address associated with the user; andwherein the identifier information of the terminal used by the usercomprises a telephone number of the user.
 15. The server according toclaim 13, wherein the instructions further include instructions to:receive the key word input by the user from the terminal used by theuser.
 16. The server according to claim 13, wherein the instructionsfurther include instructions to: push, according to the userinformation, the updated search result to the user without the userinitiating another search using the key word.